package com.jctrip.hotel.source.service.elong;

import com.jctrip.hotel.source.model.elong.req.offline.ElongQueryCityReq;
import com.jctrip.hotel.source.model.elong.req.offline.ElongQueryHotelListReq;

import java.util.Date;

/**
 * @Author: zxy
 * @CreateTime: 2023-08-21 17:05
 * @Description:
 */
public interface ElongTaskService {
    void syncHotelIdListTaskFastPush(String user, String appKey, String secretKey, String local, ElongQueryCityReq req);

    void syncHotelInfoListTaskFastPop(String user, String appKey, String secretKey, String local);

    void syncHotelInfoTask(String user, String appKey, String secretKey, String local, ElongQueryHotelListReq req);

    void syncHotelRatesPush(String user, String appKey, String secretKey, String local);

    void syncHotelRatesPop(String sourceId, String user, String appKey, String secretKey, String local, Integer days);

    void syncHotelRates(String sourceId, String user, String appKey, String secretKey, String local,
                        String hotel, Date startDate, Date endDate, Integer days);

    void syncHotelOnlineRatesPush(String user, String appKey, String secretKey, String local);

    void syncHotelOnlineRatesPop(String sourceId, String user, String appKey, String secretKey, String local, Integer days);

    void syncHotelOnlineRates(String sourceId, String user, String appKey, String secretKey, String local,
                              String hotel, Date startDate, Date endDate, Integer days);

    void syncRatesChosePush();

    void syncRatesChosePop(String sourceId);

    void syncRatesChose(String sourceId, String hotel);

    void syncIncrStatePop(String sourceId, String user, String appKey, String secretKey, String local, Integer shardingKey);

    void syncIncrState(String sourceId, String user, String appKey, String secretKey, String local, Integer shardingKey);
}
